﻿Public Class IsyeriBordroDosyasi
	Inherits Process

	Dim Borc As Prim.Borc.BorcIsyeri
	Dim Rsb, Rsy As Recordset

	Public Overrides Sub GenericEvent(ByVal e As ProcessEventArgs)
		Select Case e.EventType
			Case EventType.Initialize
				Start("İşyeri bordro dosyaları", "İşyeri numarasını ve borç hesaplama dönemini girin.")
				AddField("@Isyeri", "nl", "", "İşyeri bilgisini girmelisiniz.")
				AddDateRange("Tarih", "nl", "19760101", YMD(Today))
				StartBody()
				AddList()
				List.AddColumns("dosya(Dosyalar;l;100%)")
			Case EventType.ValidateForm
				Tables.Clear()
				Help = "!İşyeri borcu hesaplanıyor, lütfen bekleyin..."
				Borc = Prim.Borc.HesaplaIsyeri(Remote, Input("Isyeri"), Input("Tarih1"), Input("Tarih2"), Today.Date)
				If Borc.ErrorMessage <> "" Then
					Warning(Borc.ErrorMessage)
					ResetForm()
					Return
				End If
				If Borc.Aylar.Count = 0 Then
					Warning("İşyerinin ilgili dönemlere ait borcu bulunamadı.")
					ResetForm()
					Return
				End If
				Dim fs = My.Computer.FileSystem
				Dim folder = "c:\bordrolar"
				If Not fs.DirectoryExists(folder) Then fs.CreateDirectory(folder)
				folder &= "\" & Input("isyeri")
				If fs.DirectoryExists(folder) Then
					If Not Confirm("Bu işyeri için dosyalar daha önce oluşturulmuş. Devam etmek istediğinizden emin misiniz?") Then Return
				Else
					fs.CreateDirectory(folder)
				End If
				For Each Ay In Borc.Aylar.Values
					For Each Bordro In Ay.Bordrolar
						Dim Text As String = ""
						For Each Yatirim In Bordro.yatirimlar
							Text &= Yatirim.sno & "," & Yatirim.kimlik & "," & Yatirim.onadi & "," & Yatirim.soyadi & "," & Yatirim.pogs & "," & Yatirim.pek & vbCrLf
						Next
						Dim File = folder & "\" & Input("Isyeri") & "." & Bordro.tarih.ToString("yyyyMM") & "." & Bordro.tip & ".txt"
						fs.WriteAllText(File, Text, False, System.Text.Encoding.Default)
						List.AddRow(File)
					Next
				Next
				Help = "Dosya oluşturma işlemi tamamlandı."
				Info("Dosyalar oluşturuldu.")
				e.Result = True
		End Select
	End Sub

End Class
